#define  _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <assert.h>
//void reverse(int* num1, int* num2)
//{
//    assert(num1 && num2);
//    while (num1 < num2)
//    {
//        int tmp = *num1;
//        *num1 = *num2;
//        *num2 = tmp;
//        num1++;
//        num2--;
//    }
//}
//
//void rotate(int* nums, int numsSize, int k)
//{
//    reverse(nums, nums + numsSize - 1 - k);
//    reverse(nums + numsSize - k, nums + numsSize - 1);
//    reverse(nums, nums + numsSize - 1);
//
//}
//int main()
//{
//    int arr[5] = { 1,2,3,4,5 };
//    rotate(arr, 5, 2);
//
//    return 0;
//
//}



// int missingNumber(int* nums, int numsSize)
// {
//     int n=0;
//     int i=0;
//     for(i=0;i<numsSize;i++)
//     {
//         n^=nums[i];
//     }
//     for(i=0;i<=numsSize;i++)
//     {
//         n^=i;
//     }
//     return n;
// }

int missingNumber(int* nums, int numsSize)
{
    int sum = (0 + numsSize) * (numsSize + 1) / 2;
    int i = 0;
    for (i = 0; i < numsSize; i++)
    {
        sum -= nums[i];
    }

    return sum;
}
